// console.log(Math.PI);  // 输出圆周率
// console.log(Math.abs(-1));  // 输出绝对值
// console.log(Math.pow(2, 3));  // 输出幂次方
// console.log(2 ** 3);  // 2的3次方
// console.log(Math.sqrt(9));  // 输出平方根
// console.log(Math.ceil(99.3));   //返回大于或等于给定数字的最大整数。向上取整
// console.log(Math.round(99.5));  // 返回最接近给定数字的整数。四舍五入
// console.log(Math.floor(-99.3));   //返回小于或等于给定数字的最小整数。向下取整
// console.log(Math.trunc(-99.5));  //返回给定数字的整数部分
// console.log(Math.max(-99.5, 100, 200, 300)); // 输出最大值
// console.log(Math.min(-99.5, 100, 200, 300)); // 输出最小值
// console.log(Math.random() * 100);  // 输出随机数


// let date = new Date();
// console.log(date);
// console.log(date.toLocaleString());   //返回一个表示日期对象的字符串，以当前区域设置格式显示。
// console.log(date.getFullYear());  //返回一个表示日期对象的年份的字符串。
// console.log(date.getTime());  //返回一个表示日期对象的时间戳（以毫秒为单位）
// console.log(new Date().getTime());  //返回一个表示当前日期和时间的的时间戳
// console.log((new Date).getTime());
// // console.log(new window.Date().getTime());   //返回一个表示当前日期和时间的的时间戳（以毫秒为单位）。window对象表示全局变量，用于在浏览器中访问全局变量和函数。
// console.log(Date.now());  //返回一个表示当前日期和时间的毫秒数。
// console.log(+date);  //将date的值转换为字符串并输出
// console.log(+new Date());  //将new Date()函数创建的日期对象的值转换为字符串并输出


// let obj = {name: "luojinsheng"};
// let map = new Map();
// map.set("name", "luojinsheng");
// map.set("age", 20);
// map.set(true, 100);
// map.set(200, 300);
// console.log(map.size);
// console.log(map);
// console.log(map.get(true));
// console.log(map.delete(200));
// console.log(map);   //检查对象map是否包含键"age"
// console.log(map.has("age"));
// map.clear();
// console.log(map);

// //map转数组
// let arr = Array.from(map);
// console.log(arr);
// let arr2 = [...map];
// console.log(arr2);

// let newMap = new Map([
//     [ 'name', 'luojinsheng' ],
//     [ 'age', 20 ],
//     [ true, 100 ],
//     [ 200, 300 ]
// ]);
// console.log(newMap);


// let map = new Map();
// map.set("name", "luojinsheng");
// map.set("age", 20);
// map.set(true, 100);
// map.set(200, 300);

// for (const mapElement of map) {
//     console.log(mapElement, mapElement[0], mapElement[1]);
// }

// for (const mapElement of map.entries()) {
//     console.log(mapElement, mapElement[0], mapElement[1]);
// }

// for (const mapElement of map.keys()) {
//     console.log(mapElement);
// }
//
// for (const mapElement of map.values()) {
//     console.log(mapElement);
// }

// map.forEach(
//     //(value, key) => { console.log(value, key); }
//     function (value, key) {
//         console.log(value, key);
//     }
// );
//


// let obj = {name: "luojinsheng"};
// console.log(Object.keys(obj));
// console.log(Object.values(obj));
// console.log(Object.entries(obj));  //对象转二维数组

// let map = new Map();
// map.set("name", "luojinsheng");
// map.set("age", 20);
// map.set(true, 100);
// map.set(200, 300);
// console.log(map);
// console.log(Object.fromEntries(map));   //map或者二维数组转对象


// let arr = [100, 100, 100];
// console.log(arr);
//
// let set = new Set();
// set.add(100);
// set.add(100);
// set.add(100);
// set.add(200);
// console.log(set);
// set.delete(100);
// console.log(set);
//
// console.log([...set]);  //set转数组
// console.log(new Set([100, 100, 100]));

// let arr = [100, 100, 100, 200];
// console.log([...new Set(arr)]);    //去重


// let set = new Set();
// set.add(100);
// set.add(200);

// for (const setElement of set) {
//     console.log(setElement);
// }

// for (const setElement of set.entries()) {
//     console.log(setElement);   /输出键值对 但是set的键和值是一致的
// }

// set.forEach(function (value, key) {
//     console.log(value, key);
// });



// let str1 = new String("luojinsheng");
// console.log(str1.length);
//
let str2 = "   luojinsheng   ";
// console.log(str2.length);
// console.log(str2.charAt(3));
// console.log(str2[3]);

let str3 = "luodada";
let str4 = "ljs";
console.log(str2.concat(str3, str4));
console.log(str3.startsWith("luo"));
console.log(str2.endsWith("g"));
console.log(str2.indexOf("z"));
console.log(str2.includes("i"));
//
// let str5 = '5';
// let str6 = '99';
// let str7 = '199';
// console.log(str5.padStart(3, '0'));  //在开头填充
// console.log(str6.padStart(3, '0'));
// console.log(str7.padStart(3, '0'));
// console.log(str5.padEnd(3, '0'));

console.log(str2.repeat(3));  //重复
console.log(str2.slice(3, 8));  //分割(切片)
console.log(str2.substr(3, 8));  //从第3个地方开始取 取8位
console.log(str2.substring(3, 8)); //跟slice()类似
console.log(str2.toUpperCase());
console.log(str2.trim());  //前后去空格
